perm filename PROBLE[E87,JMC] blob
sn#844255 filedate 1987-08-09 generic text, type C, neo UTF8
COMMENT ā VALID 00008 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 %proble[e87,jmc] Problems in common sense reasoning
C00004 00003 \noindent 1. Towers as objects in the blocks world.
C00008 00004 \noindent 2. The horse at the birthday party.
C00011 00005 \noindent 3. Dogs and trash cans.
C00014 00006 \noindent 4. Rationalizing canning
C00017 00007 \noindent 5. The bicycle locker.
C00018 00008 \smallskip\centerline{Copyright \copyright\ \number\year\ by John McCarthy}
C00020 ENDMK
Cā;
%proble[e87,jmc] Problems in common sense reasoning
\input memo.tex[let,jmc]
\centerline{DRAFT DRAFT DRAFT}
\title{Open Problems in the Epistemology of Common Sense}
\smallskip
\noindent Abstract: Formalizing common sense knowledge in mathematical
logic requires deciding on a language, including what concepts are to
be reified and what predicates and functions are to be allowed. There
are also open problems in how the necessary non-monotonic reasoning
is to be formalized. For now, anyway, the monotonic reasoning is
conventional except that heuristic
considerations also present open problems for ordinary deduction, and
these aren't discussed in the present paper.
\smallskip
\noindent 1. Towers as objects in the blocks world.
Suppose we settle for the limited ``physics'' of the blocks
world axiomatizations of (McCarthy 1986), i.e. a finite set of
towers of blocks that can be moved and painted. Suppose that we
want to define a {\it traffic light} as a tower with a red block on top,
a green block next, with at least two blocks below, and all the
remaining blocks either black or brown, but all the same. We want
to use this formalization to reason about plans for designing and
building traffic lights. A design for a traffic light in its most
abstract form lists the sequence of block types - in this case just
the colors. In a less abstract form it lists the particular blocks
that are to be used. It needs to specify the colors of the blocks,
because some of them will have to be painted. Finally, there is
the construction plan which, in its simplest form, is a sequence of
actions of moving and painting. Representing the construction plan
as a sequence of actions is possible only if the initial situation
if fully known and all actions are guaranteed to have certain
definite effects. When these guarantees are not available, then
the construction plan must be some kind of computer program.
Even if full information is available, a computer program may be
more compact than a sequence of actions.
The problem is to prescribe a language for formalizing
the facts of the blocks world in general and also the facts
of particular situations so that the correctness of designs and
construction plans can be inferred. It seems likely that such
a language will reify abstract towers and concrete towers and
construction plans, i.e. there will be variables ranging over
these kinds of entities, a notation for constants of these kinds,
and predicates and functions taking these kinds as arguments and
yielding them as values.
\smallskip
\noindent 2. The horse at the birthday party.
One of Minsky's proposed frames was a child's birthday party,
which would contain slots for various entities associated with
a party, e.g. the honoree, the presents, the events. Object oriented
languages and AI shells provide capabilities for computing with
such frames, e.g. filling in the slots appropriately. In many cases,
the facilities provided for reasoning are simpler that those required
to do first order logic. As I understand it, this works when a
single frame dominates the computation, although it may have subframes.
Since the frame systems are used within programming languages, any
kinds of computations can be done, but in so far as facts have to
be embodied in the program, they lose some of their independence of
particular purpose and reusability.
The particular strength of reasoning in logic is its ability
to combine information from different sources. In order to compare
logic based and frame based systems, consider the problem of ``The
horse at the birthday party''. We suppose that information about
birthday parties is present, and so is information about children
riding horses, but there is no information combining the two. Imagine
that the information on the two subjects has been compiled by
different knowledge engineers interviewing experts on the two
subjects and neither anticipating that the two domains will need
to interact.
Then it is suggested that a certain birthday party be
enhanced by bringing one or more horses and offering the children
rides.
The problem is to represent the information initially in
ways that are not {\it ad hoc} to the problem and to show how it
is to be combined. Epistemologically, we can regard the problem
as one of justifying a plan for the party that will use the horses.
\smallskip
\noindent 3. Dogs and trash cans.
Neighborhood dogs used to knock over my trash cans. It took
me several weeks to think of a solution to the problem, and I considered
many alternatives. The natural human tendency is to be angry with
the dogs or their owners and to attack them in various ways. This
was both impractical and socially unacceptable, and this should be
one conclusion of a suitable formalization.
Watching the trash cans and driving away any dogs that
approach is also infeasible, and this should follow.
Some people keep their trash cans in fenced side yards, but
my house doesn't lend itself to this.
I considered making concrete sockets for the trash cans.
This seems feasible, but I looked for another solution that would
be easier to implement.
The trash cans were located next to a wall, and I considered
chaining them to the wall. This had to be done in such a way that
it didn't interfere with the trash men's access to the cans.
The final solution was to screw hooks in the wall and hang
the cans by their handles from the hooks.
A formalization of the problem needs to allow reasoning
that certain proposed solutions are unfeasible, because they cost too much
effort or because the dogs can still knock over the cans. The reasoning
that the final solution is acceptable, must allow reasoning that
it is now infeasible for the dogs to knock over the cans.
Presumably the reasoning must contain non-monotonic parts,
and the conclusions probably have to be defeasible. In fact the
solution did work, but it certainly wouldn't have worked if the
raiders had been bears rather than dogs.
\smallskip
\noindent 4. Rationalizing canning
Most AI reasoning, and indeed most human thinking, involves applying
general principles to specific situations. Thus the logical
step involves substituting constants or terms more specialized than
variables for the variables in universally quantified statements.
Resolution in general and Prolog in particular are aimed at losing
as little generality as possible.
However, some reasoning involves drawing general conclusions.
Suppose we say that a container is sterile if it is sealed and all
the bacteria in it are dead. This can actually be expressed as
a fragment of Prolog program using negation as failure, and this
fragment can be used in programs for testing for sterility and
for sterilizing a container. However,
the program tests sterility by examining each bacterium one at a
time and sterilizes by killing the bacteria one at a time.
It doesn't seem that this kind of representation can be
used to rationalize sterilizing a container by sealing it and then
heating it or heating it and sealing it while still hot, both of
which techniques are used. We need to reason that heating the
container will kill all the bacteria without having to index over
them.
This reasoning seems easy to do in logic, but it is worthwhile
to formalize it in a way that is close to the common sense form.
If we pursue analogy with ordinary language, the most plausible way of
doing this is to regard {\it the bacteria in the can}
as a mass term, analogous to {\it the water in the can}. Then we can
say that heating kills the bacteria just as we can say that heating
boils the water. Unfortunately, the formalization of mass terms is
not in good shape.
\smallskip
\noindent 5. The bicycle locker.
\smallskip\centerline{Copyright \copyright\ \number\year\ by John McCarthy}
\smallskip\noindent{This draft of PROBLE[E87,JMC]\ TEXed on \jmcdate\ at \theTime}
\vfill\eject\end